package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@TableName("products")
public class Product {
    @TableId
    private String id;                    // 商品ID（字符串类型）
    
    private String name;                  // 商品名称
    private String description;           // 商品描述
    private BigDecimal price;            // 价格（元）
    
    @TableField("original_price")
    private BigDecimal originalPrice;    // 原价（元）
    
    private String type;                 // 商品类型
    
    @TableField("token")
    private Integer token;               // 包含token（-1表示无限制）
    
    @TableField("validity_days")
    private Integer validityDays;        // 有效期（天）
    
    @TableField("image_url")
    private String imageUrl;             // 商品图片
    
    @TableField("is_active")
    private Boolean isActive;            // 是否上架
    
    @TableField("sort_order")
    private Integer sortOrder;           // 排序权重
    
    @TableField(value = "created_at", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdAt;
    
    @TableField(value = "updated_at", fill = FieldFill.UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updatedAt;
}
